Remove duplication of string identifiers in Phase
#724
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Deprecate
Phase::name
in favor ofPhase::id
Currently, there is a duplication of
Phase::name()
andPhase::id()
, where the former is supposed to be unique, whereas the latter is consistent with the phase id specified in the input file. In current Cantera, however, the context is always clear, so the differentiation is not needed.A differentiation of
name
andphase_id
does make sense forSolution
objects in the Python interface (and potentially serialization ofSolution
in C++). To preserve this capability, thename
is reassigned to the C++ objectSolution
(see #696).Further:
Currently, phase name/id can be used when accessing species within a
Phase
, i.e.The latter are, however, not used. I.e. per @speth's comment in #696
Changes proposed in this pull request:
Phase::name
byPhase::id
in equilibrium calculations and thermo phasesSpeciesIndex
in Cantera 2.5Pending
At this point, the only instance where
Phase::name
is still required is the Python interface (several tests checkname
rather thanID
). Once #696 is merged,name
will be part of the C++Solution
object, i.e.Phase::name()
can be deprecated.